package com.blueocean_health.care.management.transfer.client;

import java.util.List;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author ChenPeng cp
 * @Date 2018/7/23 16:17
 */

import com.blueocean_health.care.management.domain.base.SysResult;
import com.blueocean_health.care.management.domain.dto.SelectCareSalaryDto;
import com.blueocean_health.care.management.domain.dto.SelectCareSalarySummaryDetailRespDto;
import com.blueocean_health.care.management.domain.dto.SelectCareSalarySummaryRespDto;
import com.blueocean_health.care.management.transfer.client.SelectCareSalaryClientService.HystrixClientFallback;

@FeignClient(value = "statisticserver",fallback = HystrixClientFallback.class)
public interface SelectCareSalaryClientService {


    @RequestMapping(value="wagesReport/summary",method = RequestMethod.POST)
    SysResult queryNurseSalarySummary(SelectCareSalaryDto careSalaryDto);

    @RequestMapping(value="wagesReport/summary/detail",method = RequestMethod.POST)
    SysResult queryNurseSalarySummaryDetail(SelectCareSalaryDto careSalaryDto);

    @RequestMapping(value="wagesReport/summary/excel")
    List<SelectCareSalarySummaryRespDto> queryNurseSalarySummaryExcel(SelectCareSalaryDto careSalaryDto);

    @RequestMapping(value="wagesReport/summary/detail/excel")
    List<SelectCareSalarySummaryDetailRespDto> queryNurseSummaryDetailExcel(SelectCareSalaryDto careSalaryDto);


    @Component
    static class HystrixClientFallback implements SelectCareSalaryClientService {

        /* (non-Javadoc)
         * @see com.blueocean_health.care.management.transfer.client.ManyToManyPercentClientService#getPercentagesList(com.blueocean_health.care.management.domain.vo.ManyToManyDvo)
         */
        @Override
        public SysResult queryNurseSalarySummary(SelectCareSalaryDto careSalaryDto) {
            // TODO Auto-generated method stub
            return null;
        }

        /* (non-Javadoc)
         * @see com.blueocean_health.care.management.transfer.client.ManyToManyPercentClientService#getPercentagesListExcel(com.blueocean_health.care.management.domain.vo.ManyToManyDvo)
         */
        @Override
        public SysResult queryNurseSalarySummaryDetail(SelectCareSalaryDto careSalaryDto) {
            // TODO Auto-generated method stub
            return null;
        }

        /* (non-Javadoc)
                 * @see com.blueocean_health.care.management.transfer.client.ManyToManyPercentClientService#getPercentagesListExcel(com.blueocean_health.care.management.domain.vo.ManyToManyDvo)
                 */
        @Override
        public List<SelectCareSalarySummaryRespDto> queryNurseSalarySummaryExcel(SelectCareSalaryDto careSalaryDto) {
            // TODO Auto-generated method stub
            return null;
        }


        @Override
        public List<SelectCareSalarySummaryDetailRespDto> queryNurseSummaryDetailExcel(SelectCareSalaryDto careSalaryDto) {
            // TODO Auto-generated method stub
            return null;
        }

    }
}
